import { createApp } from 'vue'
import App from './App.vue'

// import axios from 'axios'
// axios.defaults.baseURL

// 类型声明文件 xxx.d.ts   专门为js文件.库 提供对应的类型说明

// 1.   .js文件    提供逻辑, 但是不能提供类型
// 2.   .ts文件    既能提供逻辑, 也能提供类型
// 3.   .d.ts文件  只提供类型, 不提供逻辑 => 内置/第三方/自定义

// let arr: number[] = [1, 2, 3, 4, 5]
// // 之所以声明一个数组之后有代码提示 报错, 都因为已经提前有内置的声明文件了 .d.ts
// arr.push()
// arr.find()

// 2. 第三方库类型声明文件
//  2.1 库自带 什么都不用管 按照之前的方式就可以使用 axios momnet dayjs
//        import axios from 'axios' // 自动加载库自带的类型声明文件 index.d.ts
//        axios()

//  2.2 库不带有类型声明文件 react lodash jquery
//        如果用到的库就是没有类型声明, 可以下载
//        yarn add -D @types/包名   或者 npm i -D @types/包名
//        yarn add -D @types/jquery
//        import jquery from 'jquery'

// 3. 自定义类型声明文件
//      3.1 自己需要复用某些类型(常用, 必须掌握)
//          types/xxx.d.ts 提供公共的类型 记得导出
//          需要的时候 导入即可
//      3.2 为自己已有的声明类型

import {
  count,
  songName,
  position,
  add,
  changeDirection,
  formatPoint,
} from './utils/index'
count.toString()
songName.length
add(200, 200)
changeDirection('down')
formatPoint({ x: 100, y: 100 })

createApp(App).mount('#app')
